Spring Cloud Data Flow 2.3 正式发布
我们非常高兴地宣布Spring Cloud Data Flow 2.3正式发布。
这一版本的主要亮点包括:增加一项新的原生功能,即支持基于非预测型流量模式自动扩展流式应用;针对任务应用提供持续交付;批处理作业;以及组合任务等一系列亮点功能。最后,这个新版本还对指标和监控功能进行了基础性的重新设计,以展示应用现阶段状况并对数据流水线进行故障排除。
基于指标的自动扩展
要基于指标进行自动扩展,就必须能够以独立、隔离的方式对应用实例进行扩展。Spring Cloud Data Flow (SCDF) 2.3中的一个不受平台限制的全新`scale()` API让这一切成为可能。
针对任务的 CI/CD
经历CI/CD生命周期的短时和瞬时任务微服务是Batch Processing in 2019演讲中的亮点。我们延续了这项成果,将其扩展到简单任务、批处理作业和组合任务,当然它在黄金时段也适用哦!
Prometheus监控
重新设计的Prometheus监控集群现已推出。不管在本地、Cloud Foundry或Kubernetes上,都可以保证用户体验完全一致且可以重复。
让我们来深入了解一下吧!
流处理和自动扩展
指标驱动的自动扩展对很多人来说并不陌生。事实上,对于任务关键型业务来说,针对实时流式应用做到这一点是一项强制性要求。例如,在信用卡欺诈检测用例中,我们要捕捉实时交易并用来预测欺诈,还要在欺诈发生时阻止欺诈行为。
这种预测性分析场景会遇到交易量激增的情况,因此必须采用智能的自动扩展设计,以应对突然增多的传入流量。负责完成大部分工作的应用必须能够适应流量的增加,并以相同的服务能力继续运行。要实现这一点,该应用必须支持动态扩展,并且在流量减少时,还要能够缩减规模。
在Spring Cloud Data Flow 2.3中,可以联合使用新添加的`scale()` API与指标(例如Apache Kafka中的消息延迟、位移积压或RabbitMQ中的队列深度),以智能方式决定何时以及如何扩展下游应用。关于这项设计的完整介绍和参考架构,您可以观看SpringOne 2019中的演讲。(在优酷视频中搜索Pivotal中国即可订阅官方优酷视频账号观看SpringOne Platform2019演讲哦)
短时任务的持续交付
针对短时和瞬时任务应用提供CI/CD?
没错,就是这样!
从开发人员的角度讲,任务/批处理作业的开发要经历典型的工作流程,包括编写代码、测试和迭代。但是,从部署角度看,任务/批处理作业应用的逐步改进通常是离线进行的。这意味着,对于错误修正、CVE补丁、应用/部署者性质更改或任何依赖关系升级,开发人员都不得不手动调整版本,这样后续发布的版本才能采纳新的改进。
Spring Batch的技术主管Michael Minella最早将CI/CD的概念运用到瞬时/批处理应用,以帮助提高开发人员的工作效率、改善部署体验。很快,这个概念得到广泛采用,因此团队为SCDF加入了以下功能:
1、集群首先从SCDF的App Registry解析特定应用的版本开始。
2、新添加的持久层用于抓取应用和部署属性以及任务启动参数。
3、当任务启动时,任务启动工作流中的智能系统将自动判定和解析应用的最新版本(如果有)。
4、新添加的调度组件在随后的任务启动时,能够再次以智能方式确定最近的应用版本(如果有),并重复利用任务/批处理作业的现有元数据。
5、可以使用更新版本的任务/批处理作业应用重启任务或组合任务的定义。
6、以编程方式访问SCDF的RESTful API,即可实现上述所有操作的自动化。
您可以在参考指南中详细了解新功能并查看端到端的演示。
Prometheus监控
Spring Cloud Stream和Spring Cloud Task应用原生集成了Micrometer作为监控工具,并跟踪运行环境指标,包括消息延迟、发送/接收和错误计数。Spring Cloud Data Flow基于来自这些应用的时间维度指标构建而成,因而支持针对Prometheus和InfluxDB提供易于入门的体验,同时还通过自定义支持其他监控系统。
为了在本地、Cloud Foundry和Kubernetes环境之间打造一致的开发人员和部署体验,我们简化了在SCDF中针对流式传输和批数据流水线使用Prometheus的操作。Prometheus RSocket Proxy在应用和用于指标获取的Prometheus系统之间打开双向连接,从而消除了发现服务的需求。
针对应用、流式传输和批处理数据流水线的监控仪表板是开箱即用的,也是一份入门指南,当然,您可以对其进行扩展,根据需求进行仪表板自定义。
导入/导出数据流水线
越来越多的证据表明,团队正在将流式处理和批处理数据流水线迁移到不同的环境中,同时正在采用主动-主动或主动-被动部署的多平台策略。鉴于这些部署模式,社区和客户都需要一个实用工具,将流式传输和批处理数据流水线的定义从一个环境中导出,再导入到另一个环境中。
我们非常高兴地宣布,SCDF的仪表板中提供了这种导出/导入实用工具,它可用于流式处理和批处理数据流水线。
欢迎试用并把您的想法告诉我们!
安全方面的改进
SCDF和Skipper中提供了更新、更简洁的安全集成。
我们使用最新的Spring Boot 2.2和Spring Security 5.2上游版本重新设计了安全组件。以下是SCDF 2.3中的全新安全功能:
可以为独立的SCDF和Skipper实例配置和使用多个OpenID身份提供程序后端。
针对给定的身份提供程序进行更细粒级的配置,以便深入了解和管理身份授权工作流。
一种注销机制,可让您从关联的`TokenStore`实施中注销。
安全集成变得更简洁,这主要是由于Spring Security 5.2本身的改进,包括很多更改、改进和弃用。我们继承了这些,为的是进一步优化SCDF和Skipper中的安全集成,使得底层代码更简洁,从而可以减少重复代码。
生态系统更新
正式发布:Spring Cloud Stream Horsham/3.0
作为构建用于实时数据处理的事件驱动型Spring Boot微服务框架,Spring Cloud Stream 3.0包含若干新增功能和改进功能,可以提升开发人员的工作效率。Spring Cloud Stream中的以下新功能可以用于SCDF 2.3中的流式数据流水线。
函数和响应性
将业务逻辑提升为Plain-Old-Java-Functions或Kotlin lambdas。该框架负责处理样板的其余部分,将业务逻辑与来源和目标数据源绑定。
开发人员可以用命令式或响应式编程风格或以两者组合的方式来实施功能。
新功能
· 将Kafka Streams处理程序表示为Plain Old Java Functions。
· Kafka Streams应用中的Micrometer集成。
· 根据`KafkaHeaders.TOPIC`配置动态路由出站消息。
· Apache Kafka和RabbitMQ消费者中的批处理支持。
· 支持RabbitMQ中的Quorum Queues。
· 作为一个独立项目,Schema Registry在不久的将来便会推出令人振奋的改进功能,敬请期待!
正式发布:Spring Cloud Task 2.2
作为构建用于批处理风格数据处理的短时Spring Boot微服务的框架,Spring Cloud Task 2.2推出了改进后的生命周期功能,并与Micrometer集成,以监控和跟踪任务/批处理作业指标。这些新功能也添加到了Spring Cloud Data Flow中的批处理数据流水线工具链中。
与Pivotal Cloud Foundry和Kubernetes的更深入集成
商业版本的SCDF for Pivotal Cloud Foundry将在未来几周内在2.3正式版的基础上构建完成,可提供快速、一致的入门体验,并实现Pivotal Application Service中SCDF即服务的运维自动化。
与此类似,SCDF helm-chart for Kubernetes很快也将更新至2.3正式版,为Kubernetes提供最新功能。
https://spring.io/blog/2019/12/09/spring-cloud-data-flow-2-3-0-ga-released
2、试试 IDEA 解决 Maven 依赖冲突的高能神器!
3、天真!这简历一看就是包装过的!
4、用了这么久 IDEA ,有个牛逼功能叫后缀补全!
5、count(1)、count(*) 与 count(列名) 的执行区别
6、Java 里的 for (;;) 与 while (true),哪个更快?